/**
 * 给你一个字符串 s ，请你反转字符串中 单词 的顺序。
单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。
返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。
注意：输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中，
单词间应当仅用单个空格分隔，且不包含任何额外的空格。

 */

function reverseWords(str = "") {
    // let strlen = str.length;
    let arr = str.split(" ");
    console.log(arr);
    // for(let i =0;i<arr.length;i++) {
    //     if (!arr[i])
    // }
    arr = arr.filter(s => s);
    // arr.forEach((ar, i) => {
    //     console.log(ar.length)
    //     if (!ar.length) arr.splice(i, 1);
    // })
    let left = 0, right = arr.length - 1;
    while (left < right) {
        let tmp = arr[left];
        arr[left] = arr[right];
        arr[right] = tmp;
        left++;
        right--;
    }
    console.log(arr)
    return arr.join(" ");
}

console.log("[反转字符串单词]", reverseWords("  hello world  "));